In much the same way that server virtualization programmatically creates, snapshots, deletes and restores software-based virtual machines (VMs), NSX-T network virtualization programmatically creates, snapshots, deletes, and restores software based virtual networks.
In network virtualization, a network hypervisor reproduces the complete set of protocol layers from Layer 2 to Layer 7 in software. Consequently, these services can be assembled in any arbitrary combination to produce a virtual network in seconds.
The network virtualization implements three separate planes, management plane 104, control plane 106/108, and data plane 112 as depicted in FIG. 1A. Management plane 104 allows the platform to process large-scale concurrent API requests from a cloud layer. Control plane 106/108 keeps track of the real-time virtual networking and security state of the system. Control plane 106/108 is split into two parts, a central control plane 106 and a local control plane (LCP) 108. LCP 108 runs on the compute endpoints, which are known as transport nodes 110. Data plane 112 includes a host switch, which enables the overlay network, as well as traditional VLAN-based topology.
Transport node 110 hosts various LCP daemons and a local data plane that includes a forwarding engine. Transport node 110 further includes storage, which contains all of the data for defining and controlling the behavior of the transport node. All of the daemons and processes running in the transport node interact with the storage via an established interface to carry out their assigned functions.
In a cloud setting, a gateway node, which manages a number of virtual machines in the cloud, uses, in one embodiment, a database for storage and each virtual machine has a client that reads and writes its own data from the database. The gateway node allocates a separate virtual database for each virtual machine to ensure that the virtual machine cannot alter another VM's database.
It is highly likely that each virtual machine has some set of identical configurations. For example, the same logical router port configuration is used several VMs managed by the gateway. Each of these identical configurations causes separate copies to be maintained for each virtual database, which is wasteful and inefficient.